Image segmentation has been applied to background and foreground replacement in still images and even video. For example, video conferencing has been known to use background replacements using segmentation.
Segmentation can include partitioning a digital image into multiple segments, with each segment including one or more pixels. A benefit of segmentation is that it can be used simplify an image so that it is easier to analyze. Segmentation can also be used to locate objects and boundaries of objects in images, such as a face or head and shoulders of a person. Also, segmentation can include the process of assigning a label to every pixel in an image such that pixels with the same label share certain characteristics.
A result of segmentation can include a set of segments that collectively cover the entire image or a set of contours extracted from the image, for example. Each of the pixels in a region can be similar with respect to some characteristic or computed property, such as color, intensity, or texture. Adjacent regions can be significantly different with respect to the same characteristic(s).
In using segmentation, such as head-shoulder segmentation, often a user is instructed to select a first sample pixel of a foreground, such as a head-shoulder foreground, and a second sample pixel of a background when performing segmentation of an image. Afterwards, a color feature vector of the first sample pixel and a color feature vector of the second sample pixel are determined, respectively, to obtain a first color feature vector of the foreground and a second color feature vector of the background. Next, color modeling can be performed on the foreground and the background, according to the first color feature vector and the second color feature vector to obtain respective color models. Finally, the models can be used to implement segmentation on the image. One of the many problems with such image segmentation is automating the selection of foreground and background pixels used as seeds for the segmentation.